home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / g_man / cat3 / standard / convolve.z / convolve
Encoding:
Text File  |  1998-10-20  |  5.1 KB  |  133 lines

  1.  
  2.  
  3.  
  4. ccccoooonnnnvvvvoooollllvvvveeee((((3333GGGG))))                                                      ccccoooonnnnvvvvoooollllvvvveeee((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ccccoooonnnnvvvvoooollllvvvveeee - modify the operation of lrectwrite and rectcopy to convolve
  10.      pixel data
  11.  
  12. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      vvvvooooiiiidddd ccccoooonnnnvvvvoooollllvvvveeee((((lllloooonnnngggg ccccoooonnnnvvvvoooopppp,,,, lllloooonnnngggg bbbboooorrrrddddeeeerrrr,,,, lllloooonnnngggg xxxxkkkkssssiiiizzzzeeee,,,, lllloooonnnngggg yyyykkkkssssiiiizzzzeeee,,,, ffffllllooooaaaatttt ****kkkkeeeerrrrnnnneeeellll,,,, ffffllllooooaaaatttt bbbbiiiiaaaassss))))
  14.  
  15. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  16.      _c_o_n_v_o_p   the convolution mode: general, separable or off
  17.  
  18.      _b_o_r_d_e_r   a token specifying the source for the input data border
  19.  
  20.      _x_k_s_i_z_e   the size of the kernel width in pixels in the x dimension
  21.  
  22.      _y_k_s_i_z_e   the size of the kernel width in pixels in the y dimension
  23.  
  24.      _k_e_r_n_e_l   an array of kernel elements
  25.  
  26.      _b_i_a_s     a value usually between [-1.0,1.0] to be added to the result of
  27.               the convolution.
  28.  
  29. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  30.      RealityEngine supports a sequence of of floating point image processing
  31.      operations.  The operations are performed in the following order: integer
  32.      to floating point conversion, scale, bias, convolution, floating point to
  33.      integer conversion, and finally lookup table mapping.
  34.  
  35.      The pixels are converted from integers in the range specified by
  36.      pixmode(PM_INPUT_TYPE), to the floating point range [0.,1.] if the input
  37.      type was unsigned or (-1.,1] if the input type was signed. The pixels are
  38.      multiplied by a color scale and then a color bias is added.  The scale
  39.      and bias values are specified using the pixeltransfer() function. The
  40.      resulting pixels are convolved, if convolution has been enabled by the
  41.      convolve() function.  The resulting pixels are converted back to integers
  42.      where the range [0.0,1.0] maps to [0,4095] if pixeltransfer(PT_MAP_COLOR)
  43.      is disabled or [0,lookup_table_size), if table lookup mapping is enabled.
  44.      The result is written to the framebuffer.
  45.  
  46.      ccccoooonnnnvvvvoooollllvvvveeee specifies the parameters defining the convolution to be
  47.      performed by lrectwrite or rectcopy.
  48.  
  49.      convop may be CV_GENERAL, CV_SEPARABLE, or CV_OFF, which is the default.
  50.      CV_GENERAL specifies that a full 3x3, 5x5, or 7x7 convolution should be
  51.      performed.  CV_SEPARABLE specifies that the convolution should be
  52.      performed as two one dimensional convolutions: first a horizontal
  53.      convolution, followed by a vertical convolution.  Separable convolutions
  54.      can be considerably faster than general convolutions as the number of
  55.      arithmetic operations is reduced.
  56.  
  57.      border may be:
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ccccoooonnnnvvvvoooollllvvvveeee((((3333GGGG))))                                                      ccccoooonnnnvvvvoooollllvvvveeee((((3333GGGG))))
  71.  
  72.  
  73.  
  74.           CV_REDUCE to specify that the input border data will be supplied by
  75.           the programmer so that the output data will be less than that input.
  76.           If the input data is MxN and the kernel size KxK, the output data
  77.           will be (M - K + 1)x(N - K + 1).
  78.  
  79.      xksize and yksize may be 3, 5 or 7 and must be equal to each other.
  80.  
  81.      kernel is a xksize x yksize array of floats in row major order if convop
  82.      is CV_GENERAL.  If the convop is CV_SEPARABLE, the kernel should be an
  83.      array of xksize + yksize floats; first the coefficients for the
  84.      horizontal pass, followed by the coefficients for the vertical pass.  The
  85.      coefficients should be chosen so the output range will be between
  86.      [0.,1.].
  87.  
  88.      If convolution is enabled, all of the features of pixmode will be ignored
  89.      except for PM_INPUT_FORMAT, PM_OUTPUT_FORMAT, PM_INPUT_TYPE,
  90.      PM_OUTPUT_TYPE, PM_OFFSET, and PM_STRIDE.
  91.  
  92.      If the pixel input format has multiple components, they will be convolved
  93.      independently.
  94.  
  95. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  96.      lrectwrite,rectcopy,pixmode,pixeltransfer,pixelmap
  97.  
  98. NNNNOOOOTTTTEEEESSSS
  99.      ccccoooonnnnvvvvoooollllvvvveeee is supported only on RealityEngine systems with release 5.0.1 or
  100.      greater.
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.